In computing, graphical programming (also known as visual programming) lets users create programs by manipulating program elements graphically rather than by specifying them textually. A graphical program may include a plurality of visually interconnected nodes that collectively indicate functionality. The graphical program may be represented in memory of a computer system as integrated data structures and/or program instructions. These data structures and/or program instructions may be compiled or interpreted to produce machine language that accomplishes the functionality of the graphical program.
A user may build a graphical program via a graphical user interface (GUI) by selectively adding various nodes that represent various functions. The nodes may be connected by lines representing data flow, control flow, or execution flow. Thus the graphical program may include a plurality of interconnected nodes that graphically defines a procedure for accomplishing certain results, such as manipulating one or more input variables and/or producing one or more output variables.
The GUI may include various user interface panels. A canvas panel of the GUI displays the graphical program. A palette panel may include a list of distinct nodes that can be dragged and dropped by the user onto the canvas panel as node instances. Nodes placed on the canvas panel inherit the attributes and properties of the nodes of the palette panel. Once placed on the canvas panel, a user can configure the nodes with data in accordance with the functions they will perform, and connect the nodes to create a program control flow. When finished the instructions and/or data structures representing the interconnected nodes, including the configuration data, can be stored in memory for subsequent compilation or interpretation into machine code.